{% extends 'base.html' %}
{% load staticfiles %}

{% block content %}

<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
  <h2 class="page-header">今日房间概览</h2>
  <div>
    <ul id="menu">
      <li><span style="background-color: #ef8535;">空房</span></li>
      <li><span style="background-color: #b3c6e5;">已预订</span></li>
      <li><span style="background-color: #3a76af;">已入住</span></li>
    </ul>
  </div>

  <div class="row placeholders">
    <div class="col-xs-6 col-sm-3 placeholder">
      <div id="map0" style="margin-left:-20px;"></div>
      <h4 style="margin-top:-40px;">标准间</h4>
    </div>
    <div class="col-xs-6 col-sm-3 placeholder">
      <div id="map1" style="margin-left:-20px;"></div>
      <h4 style="margin-top:-40px;">大床房</h4>
    </div>
    <div class="col-xs-6 col-sm-3 placeholder">
      <div id="map2" style="margin-left:-20px;"></div>
      <h4 style="margin-top:-40px;">商务双人间</h4>
    </div>
    <div class="col-xs-6 col-sm-3 placeholder">
      <div id="map3" style="margin-left:-20px;"></div>
      <h4 style="margin-top:-40px;">豪华大床房</h4>
    </div>
  </div>

  <h2 class="sub-header">今日入住详情</h2>
  <div class="table-responsive">
    <table class="table table-striped">
      <thead>
        <tr>
          <th>房间号</th>
          <th>房间类型</th>
          <th>房间状态</th>
          <th>顾客姓名</th>
          <th>入住人数</th>
          <th>入住时间</th>
          <th>预计离开时间</th>
        </tr>
      </thead>
      <tbody>
        {%for order in order_list%}
        <tr>
          <td>{{order.room_num}}</td>
          <td>{{order.room_type}}</td>
          <td>{{order.room_status}}</td>
          <td>{{order.username}}</td>
          <td>{{order.people_num}}</td>
          <td>{{order.s_time|date:"Y-m-d"}}</td>
          <td>{{order.e_time|date:"Y-m-d"}}</td>
        </tr>
        {%endfor%}
      </tbody>
    </table>
  </div>
</div>
<script type="text/javascript">
  // var arr = [
  //   [
  //     ['已入住', 10],
  //     ['已预订', 15],
  //     ['空房', 20]
  //   ],
  //   [
  //     ['已入住', 5],
  //     ['已预订', 10],
  //     ['空房', 30]
  //   ],
  //   [
  //     ['已入住', 15],
  //     ['已预订', 12],
  //     ['空房', 20]
  //   ],
  //   [
  //     ['已入住', 8],
  //     ['已预订', 3],
  //     ['空房', 10]
  //   ]
  // ]
  $(function() {
    $.ajax({
      type: "GET",
      url: "/get_info",
      success: function (result) {
        if (result.status == 'ok') {

          var arr = result.data
          for (var j = 0; j < arr.length; j++) {
            var width = 300; //设置svg区域的宽度
            var height = 300; //设置svg区域的高度

            var svg = d3.select('body') //选择body区
              .selectAll('#map' + j)
              .append('svg') //在body中添加svg
              .attr('width', width) //将宽度赋给width属性
              .attr('height', height); //将高度赋给height属性

            var dataset = arr[j];

            //转换数据
            var pie = d3.layout.pie()
              .value(function (d) {
                return d[1];
              });
            var piedata = pie(dataset);
            console.log(piedata);

            //外半径和内半径
            var outerRadius = width / 3;
            var innerRadius = 0;

            //创建弧生成器
            var arc = d3.svg.arc()
              .innerRadius(innerRadius)
              .outerRadius(outerRadius);
            var color = d3.scale.category20();

            //添加对应数目的弧组，即<g>元素
            var arcs = svg.selectAll('g')
              .data(piedata)
              .enter()
              .append('g')
              .attr('transform', 'translate(' + (width / 2) + ',' + (height / 2) + ')');

            //添加弧的路径元素
            arcs.append('path')
              .attr('fill', function (d, i) {
                return color(i); //设定弧的颜色
              })
              .attr('d', function (d) {
                return arc(d); //使用弧生成器
              });


            //添加弧内的文字元素
            arcs.append('text')
              .attr('transform', function (d) {
                var x = arc.centroid(d)[0] * 1.4; //文字的x坐标
                var y = arc.centroid(d)[1] * 1.4; //文字的y坐标
                return 'translate(' + x + ',' + y + ')';
              })
              .attr('text-anchor', 'middle')
              .text(function (d) {
                //计算市场份额和百分比
                //   var percent = Number(d.value) / d3.sum(dataset, function(d) { return d[1]; }) * 100;
                //保留一个小数点，末尾加一个百分号返回
                //   return percent.toFixed(1) + '%';
                return Number(d.value) + '间';
              });
          }
        } else {
          alert('获取信息失败！')
        }
      }
    });
  });
  //确定初始数据
  // for (var j = 0; j < arr.length; j++) {
  //   var width = 300; //设置svg区域的宽度
  //   var height = 300; //设置svg区域的高度

  //   var svg = d3.select('body') //选择body区
  //     .selectAll('#map' + j)
  //     .append('svg') //在body中添加svg
  //     .attr('width', width) //将宽度赋给width属性
  //     .attr('height', height); //将高度赋给height属性

  //   var dataset = arr[j];

  //   //转换数据
  //   var pie = d3.layout.pie()
  //     .value(function (d) {
  //       return d[1];
  //     });
  //   var piedata = pie(dataset);
  //   console.log(piedata);

  //   //外半径和内半径
  //   var outerRadius = width / 3;
  //   var innerRadius = 0;

  //   //创建弧生成器
  //   var arc = d3.svg.arc()
  //     .innerRadius(innerRadius)
  //     .outerRadius(outerRadius);
  //   var color = d3.scale.category20();

  //   //添加对应数目的弧组，即<g>元素
  //   var arcs = svg.selectAll('g')
  //     .data(piedata)
  //     .enter()
  //     .append('g')
  //     .attr('transform', 'translate(' + (width / 2) + ',' + (height / 2) + ')');

  //   //添加弧的路径元素
  //   arcs.append('path')
  //     .attr('fill', function (d, i) {
  //       return color(i); //设定弧的颜色
  //     })
  //     .attr('d', function (d) {
  //       return arc(d); //使用弧生成器
  //     });


  //   //添加弧内的文字元素
  //   arcs.append('text')
  //     .attr('transform', function (d) {
  //       var x = arc.centroid(d)[0] * 1.4; //文字的x坐标
  //       var y = arc.centroid(d)[1] * 1.4; //文字的y坐标
  //       return 'translate(' + x + ',' + y + ')';
  //     })
  //     .attr('text-anchor', 'middle')
  //     .text(function (d) {
  //       //计算市场份额和百分比
  //       //   var percent = Number(d.value) / d3.sum(dataset, function(d) { return d[1]; }) * 100;
  //       //保留一个小数点，末尾加一个百分号返回
  //       //   return percent.toFixed(1) + '%';
  //       return Number(d.value) + '间';
  //     });
  // }
</script>

{% endblock %}